Universal remote control with automated setup

ABSTRACT

A controller that automatically identifies one or more peripheral devices which need to be programmed for use with the controller. In some embodiments, the controller is able to visually identify a peripheral device from an image, obtain the configuration information for the peripheral device, and program itself in the background according to the configuration information. These tasks are advantageously performed by the remote control, without user input. The controller can be programmed to support a plurality of peripheral devices. When the controller is used to control a peripheral device, the controller may first present a selection list on the display screen. The selection list may include all the peripheral devices that the remote is communicatively coupled with. Upon the user selecting the desired peripheral device to be controlled, the remote control may dynamically outputs a customized user interface associated with the selected peripheral device.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 12/948,585 filed Nov. 17, 2010 entitled “UNIVERSAL REMOTE SETUP”, each and every part of is hereby incorporated by reference in their entirety.

FIELD OF THE INVENTION

The present invention relates to methods and apparatus for control devices. More particularly, the present invention relates to methods and apparatus for the automated setup of control devices.

BACKGROUND OF THE INVENTION

We live in a technological world with a vast, and ever increasing, number of electronic devices. Electronic devices are oftentimes complex to configure and use, and may be sold with remotes to operate these electronic devices. As electronic devices, such as consumer media, become more complicated, the need for a relatively simple user interface to aid in their configuration and setup becomes more important. Furthermore, as the number of remotes a user comes to own increases, the need to help the user manage these remotes becomes more important.

Currently, controllers can be programmed to control a plurality of consumer electronic devices. However, programming the master controller for a consumer electronic device is a fairly complex procedure. And, as such, a tech-savvy individual typically programs the master controller, although a non-technical individual can operate the master controller after it has been programmed. Even when a tech-savvy individual programs the master controller, the procedure is still troublesome and time consuming. For example, the tech-savvy individual must correctly identify the type of device to be controlled and manually input this information into the master controller or select the type of device from a list before proceeding. The tech-savvy individual may need to perform additional steps before the master controller is able to properly control the device. Furthermore, software (e.g., driver files) may be required to configure a controller. A user may or may not have ready access to such software, further complicating the setup of such controllers.

SUMMARY OF THE INVENTION

Embodiments of the present invention are directed towards a controller with automated setup. The controller may be able to visually identify a peripheral device from an image, obtain configuration information for the peripheral device from an internal or external source, and program itself (typically in the background, transparent to the user) according to the configuration information. These tasks, which are prone to human error and are troublesome, are advantageously performed by the controller, with little or no user input or interaction. The controller can be programmed to support a plurality of peripheral devices.

In one aspect, a controller automatically configures the controller based on configuration information of an electronic device such that the controller is capable of communicating with the electronic device. This may include automatically identifying the electronic device from an image, and accessing the configuration information of the electronic device identified from the image. Typically, the controller is configured to set up in the background without user input. The controller also may display functional elements associated with the electronic device. The functional elements may include touch screen icons. In some embodiments, the controller may rearrange the functional elements.

In another aspect, a handheld device is configured to communicatively couple to at least one peripheral device. The handheld device includes a processor and at least one application executed by the processor. The application is able to use configuration information of a peripheral device and generate a user interface for operating the peripheral device based on the configuration information. Typically, when generating a user interface, a selection list that includes the peripheral device is generated, and the handheld device thereafter detects the peripheral device as a selected device to be controlled. The user interface is typically specific to the peripheral device. In some embodiments, the user interface may include a dial, navigation buttons, a number pad, a volume control, a power button, or a combination thereof.

In some embodiments, the peripheral device is identified from an image. In some embodiments, the handheld device further includes a camera configured to obtain the image.

In some embodiments, the handheld device includes an IR transmitter and the at least one peripheral device includes an IR receiver. The handheld device may be communicatively coupled with the at least one peripheral device using IR. Alternatively or additionally, the handheld device may include a RF transmitter and the at least one peripheral device may include a RF receiver. The handheld device may be communicatively coupled with the at least one peripheral device using RF. Alternatively or additionally, the handheld device and the at least one peripheral device may be Ethernet-enabled. The handheld device may be communicatively coupled with the at least one peripheral device over a WiFi connection or a LAN.

In some embodiments, the configuration information is internally stored within the handheld device. The configuration information may be updated periodically or on-demand. Alternatively or additionally, the configuration information may be remotely stored outside the handheld device.

In yet another aspect, using a controller includes determining a peripheral device to be controlled. In some embodiments, the peripheral device to be controlled is identified from an image. An image can be a photograph or may be a live image of a part of the peripheral device. For example, a part of the peripheral device may be a model code on the face or an identity plate of the peripheral device. An image can also be a document containing identification data regarding the peripheral device. For example, the document may be a receipt, a credit card statement, a loyalty card statement, or a rewards card statement. The document can be received over a network or at a point of sale.

Configuration information of the peripheral device may be used to automatically configure the controller and to dynamically display an operative menu to control the peripheral device upon detecting the peripheral device as a selected device to be controlled.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made in detail to implementations of the present invention as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following detailed description to refer to the same or like parts.

FIG. 1A illustrates a graphical representation of an embodiment of a controller in accordance with the present invention.

FIG. 1B illustrates examples of peripheral devices communicatively coupled with the controller in accordance with the present invention.

FIG. 2 illustrates an embodiment of techniques of obtaining an image in accordance with the present invention.

FIG. 3 illustrates an embodiment of a customized user interface in accordance with the present invention.

FIG. 4 illustrates an embodiment of a process of configuring a universal remote control in accordance with the present invention.

FIG. 5 illustrates a schematic view of an embodiment of a controller in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, numerous details are set forth for purposes of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. Thus, the present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described herein.

Embodiments of the present invention are directed towards a controller with automated setup. The controller is able to automatically identify one or more peripheral devices for which the controller may be specifically configured. The controller may be able to visually identify a peripheral device from an image, obtain configuration information for the peripheral device from an internal or external source, and program itself (typically in the background, transparent to the user) according to the configuration information. These tasks, which are prone to human error and are troublesome, are advantageously performed automatically by the controller, with little or no user input or interaction. The controller can be programmed to support a plurality of peripheral devices. Embodiments of the present invention may also advantageously reduce the number of components sold with each electronic device (e.g., the peripheral device may be sold without a remote control or portable media containing configuration data), thereby minimizing the environmental impact of e-waste, and reducing overall production cost and/or consumer cost.

In one embodiment, the controller may function as a universal remote control. In this regard, the controller may be operative to communication a command to a peripheral device to elicit functionality of the peripheral device. In some embodiments, the universal remote control may be a handheld device, such as a smartphone, which has computing ability. FIG. 1A illustrates a graphical representation of an embodiment of a universal remote control 100 in accordance with the present invention. The universal remote control 100 is able to store, serve, compute, communicate and/or display information to enable a user to control one or more peripheral devices. The universal remote control 100 typically has an advanced processor 130 and abundant memory 125 to support at least an operating system, data stores and applications. The universal remote control 100 also has one or more communication interfaces 105 and a display screen 135. The communication interfaces 105 may include an infrared (IR) interface, a radio frequency (RF) interface, and/or an Ethernet interface. The display screen 135 may be a capacitive touchscreen or a resistive touchscreen. The universal remote control 100 may also include and support other hardware components, such as a wireless phone unit 110, having a speaker, microphone and antenna, for sending/receiving voice and/or data, a camera 115, and a port 120 to couple with or to receive an external storage device. In some embodiments, the port 120 is a USB port or a proprietary port. Although only one port is illustrated, the universal remote control 100 may have a plurality of ports.

Depending on the capabilities of a peripheral device, the universal remote control 100 may be able to communicate with the peripheral device through the one or more communication interfaces 105 using infrared, radio frequency such as Bluetooth™, Ethernet, or a combination thereof. As illustrated in FIG. 1B, the one or more peripheral devices may include, but are not limited to, a PC 155, a gaming console 165, a stereo 170, a DVD/CD/VCR player 175, a fan 180, a heater 185, a TV 160, and other electronic devices (not shown) which are capable of being controlled. In FIG. 1B, the universal remote control 100 is configured to communicatively couple with the PC 155 and the TV 160 either wired or wirelessly (e.g., via WiFi) over a LAN 150. The universal remote control 100 is configured to communicatively couple with the gaming console 165 and the stereo 170 using RF. Additionally, the universal remote control 100 is configured to communicatively couple with the DVD/CD/VCR player 175, the fan 180, the heater 185 and the TV 160 using IR. Each peripheral device communicatively may have a primary or preferred communication mode. Some peripheral devices may have alternative communication modes.

In some embodiments, if a primary communication mode of a peripheral device is nonfunctional, then a secondary communication mode can be used such that the universal remote control 100 is still able to communicatively couple with the peripheral device. For example, in the event that the universal remote control 100 fails to communicatively couple with the TV 160 using IR, the universal remote control 100 may be able to communicatively couple with the TV 160 over the LAN 150.

The universal remote control 100 of the present invention may be able to visually identify a peripheral device to be controlled or supported by the universal remote control 100. In particular, the universal remote control 100 may first obtain an image and thereafter identify the peripheral device from the image.

In some embodiments, the image can be a live image sensed by the camera 115 of the universal remote control 100 or a photograph (such as one that is captured by the camera 115 of the universal remote control 100). The image typically includes a part of the peripheral device that is able to assist the universal remote control 100 in identifying of the peripheral device. That is, the image may include an identifying indicia related to the peripheral device. For example, the part of the peripheral device may be a QR (quick response) code, a UPC (universal product code), a SKU (stock-keeping unit) code, or a model code on the face of the peripheral device or on the manual, or an identity plate of the peripheral device. Alternatively, the image can be a document electronically transmitted to and received by the universal remote control 100, for example, over a network 140, 150 from data source 145 or at a point of sale. For example, the document may be a receipt, a credit card statement, a loyalty card statement, a rewards card statement, or other customer records stored by retailers/distributors which can be used to identify the peripheral device that the user wishes to program for use with the universal remote control 100. In some embodiments, the user is able to provide the universal remote control 100 a document by coupling an external storage device with the universal remote control 100 via the port 120 for retrieval of the document from the external storage device. The document may belong to the user or someone else who had purchased the peripheral device, as long as the document is able to assist the universal remote control 100 in identifying the peripheral device. The universal remote control 100 may be able to scan the image, regardless of its format and how it was obtained, and thereafter visually identify from the image what the peripheral device is using image recognition techniques.

FIG. 2 illustrates embodiments of techniques of obtaining an image in accordance with the present invention. As discussed above, the image may be a live image, a photograph, or a document electronically transmitted to the universal remote control 100. Identification of the peripheral device may then be extracted from the image using image recognition techniques. Software implementing the image recognition technique may be stored on the universal remote control 100. Alternatively, the image may be communicated to another device for remote recognition. In some embodiments, the universal remote control 100 is able to identify more than one peripheral device from the image. Typically, successful identification of a peripheral device includes determining the make and model of the peripheral device.

If more than one peripheral device had been identified from the image, the user may be prompted to select one or more peripheral devices the user wishes to be programmed with the universal remote control 100. Alternatively, all of the identified peripheral devices will be programmed with the universal remote control 100. In the event that identification has failed, the user may be prompted to try again or is given the opportunity to manually program the universal remote control 100.

After successfully identifying a peripheral device from the image, the universal remote control 100 may automatically obtain configuration information of the identified peripheral device. The configuration information may not only allow for the universal remote control 100 to be programmed such that the universal remote control 100 is operatively coupled with the peripheral device, but the configuration information may also determine the graphical layout of a customized user interface associated with the peripheral device to be displayed on the screen 135 (FIG. 1A).

In some embodiments, configuration information of an identified peripheral device is obtained from an external data source, such as a networked data source 145 (FIG. 1B). Typically, the networked data source 145 may be coupled to the network 140 and stores a code list, which includes the configuration information of the peripheral device. The networked data source 145 can be at a central web location where configuration data for all electronic devices are stored, or can be at the manufacturer's web location.

Alternatively, the external data source may be an external storage device (not illustrated) coupled to the universal remote control 100 via port 120. The external storage device may store a code list, which includes the configuration data for a plurality of electronic devices, including the configuration information of the peripheral device. The code list on the external storage device may be updated periodically or on-demand with configuration data to support new electronic devices. In these cases where configuration data is stored in the networked data source 145 or an external storage device, the configuration information of the peripheral device may be obtained remotely from the networked data source 145 or the external storage device, respectively. An advantage with these external retrieval configurations is that the universal remote control 100 need not store configuration data for other electronic devices not yet operatively coupled with the universal remote control 100. Since memory on the universal remote control 100 is a commodity, only the required configuration data is stored, thereby utilizing only a portion of the memory necessary to support the peripheral device(s).

Alternatively, configuration information of the peripheral device may be already stored internally in the universal remote control 100. The universal remote control 100 may locally store a code list, which includes the configuration data for a plurality of electronic devices. The code list may be locally stored in the memory 125 of the universal remote control 100. The code list on the universal remote control 100 may be updated periodically or on-demand. In this case where configuration data is stored in the universal remote control 100, the configuration information of the peripheral device may be obtained locally from the universal remote 100. An advantage with this configuration is in the instance where the network 140 is unavailable; the universal remote control 100 can still be programmed since the configuration information is obtained locally from the universal remote control 100.

In some embodiments, the universal remote control 100 will first check its local memory 125, then the coupled external data source, if any, and lastly the networked data source 145, for the configuration information of the peripheral device.

After successfully obtaining the configuration information of the peripheral device, the universal remote control 100 may automatically set up (programs) itself based on the configuration information such that the universal remote control 100 is capable of communicating with the peripheral device. Typically, the configuration takes place in the background, without any or further user input or interaction. During configuration, the user may be able to continue to use the universal remote control 100 to, for example, play a game, surf the Internet, or make a phone call, without disrupting the programming process. When the universal remote control 100 is successfully programmed, the universal remote control 100 may alert the user that the programming is completed and that the universal remote control 100 is now communicatively coupled with the peripheral device. Typically, the universal remote control 100 is able to be communicatively coupled with a plurality of peripheral devices simultaneously.

In the event that a plurality of peripheral devices are identified from a single image, the universal remote control 100 may finish obtaining configuration data for all of the requested peripheral devices before sequentially programming itself for each peripheral device according to the corresponding configuration information. Alternatively, the universal remote control 100 may obtain configuration data for a first requested peripheral device and program itself accordingly before repeating these steps for the next requested peripheral device. Similar to the programming for a single peripheral device, the user may be able to use the universal remote control 100 without disrupting the programming process.

In some embodiments, when the universal remote control 100 is used as a remote, the universal remote control 100 may present a selection list on the display screen 135. The selection list may include all the peripheral devices that the universal remote control 100 is supporting (e.g., communicatively coupled with). Upon the user selecting the desired peripheral device to be controlled, the universal remote control 100 may dynamically output a customized user interface associated with the selected peripheral device. The user interface can include a dial, a slider, navigation buttons, a number pad, a volume controller, a peripheral device power button, a mute button, a menu button, and/or other virtual controllers for interacting with and controlling the peripheral device. The user interface can also include a voice recognition feature that allows the user to simply say a command to control the peripheral device.

FIG. 3 illustrates an exemplary customized user interface 300 for the Sony Bravia EX700 peripheral device. As illustrated, the user interface 300 displays a description 305 of the peripheral device, such as the make and model, a power button 310, a slider 315 to adjust the volume, navigation buttons for channel selection 320, menu and associated navigation buttons for the menu 325, a number pad 330, a voice recognition button 335, and a picture-in-picture button 340. Upon receiving user input via the customized user interface 300, the universal remote control 100 controls the peripheral device accordingly.

In some embodiments, when the number of virtual controllers for a peripheral device is too many for all the virtual controllers be displayed on one screen “page,” the virtual controllers can be displayed over a plurality of screen pages such that only a subset of the virtual controllers is displayed on each page. The user is able to scroll between the pages to view the virtual controllers. In other embodiments, the user is able to expand a page such that the virtual controllers on that page are relatively large in size, which is particularly useful for the vision-impaired. The user may be able to scroll up/down, left/right on the page. Yet in other embodiments, the user is able to further personalize the user interface for the peripheral device by rearranging the virtual controllers on a page or on multiple pages. The user may be able to save the setting and, at any time thereafter, revert back to the original (default) customized user interface for that peripheral device.

FIG. 4 illustrates an embodiment of a process 400 of configuring the universal remote control 100 in accordance with the present invention. At a step 405, at least one peripheral device from an image may be visually identified by the universal remote control. In particular, the universal remote control 100 may first obtain the image and thereafter identify the peripheral device(s) from the image. As discussed above, the image can be a live image, a photograph or a document obtained by the universal remote control 100.

After successfully identifying the peripheral device from the image, configuration information of the peripheral device identified from the image may be obtained, at a step 410. Configuration information of the peripheral device can be obtained locally from within the universal remote control 100 itself or remotely (e.g., from a networked data source 145 or an external storage device coupled to the universal remote control 100).

At a step 415, the universal remote control 100 may be automatically programmed based on the obtained configuration information such that the universal remote control 100 is communicatively coupled with the peripheral device. According to the process 400, the user need not identify the type of peripheral device the user wishes to control or manually input configuration information into the universal remote control 100 or select an item from a list or menu. In fact, after an image is obtained by the universal remote control 100, the programming of the universal remote control 100 may be automatic.

It is contemplated that peripheral devices may include smart home appliances. Accordingly, the universal remote control of the present invention may also be able to work with and/or support an intelligent home system. For example, the universal remote control can be programmed to control smart home appliances, such as an air conditioning unit, in addition to common consumer electronic devices including those mentioned above.

In another embodiment, the controller may include a computing device such as a handheld computing device, a laptop computing device, a tablet computing device, a desktop computer, etc. In this regard, the computing device may be operative to obtain identifying characteristics of one or more peripheral devices as described above. The configuration data received based on the identification of the peripheral device may allow the computing device to control or communicate with the peripheral device. For instance, the peripheral device may, for example, be a printer, scanner, keyboard, mouse, monitor, audio device, storage device, or other consumer electronic device (e.g., such as those listed above with regard to FIG. 1B). As such, the configuration data may be software that is received at the computing device to facilitate control and/or communication with the one or more peripheral devices. This software may, in some embodiments, include driver software or other utility software that is specific to the peripheral device that allows the computing device to control and/or communicate with the peripheral device.

FIG. 5 shows a schematic view of a controller 500 that may operate in accordance with the foregoing. A controller 500 may include a processor 505 operative to communicate with and control the various components of the controller 500 described below. For instance, the controller 500 may include a display 510. The display 510 may be a touch screen display or another display operable to cooperate with an input device in another manner to present a graphical user interface to a user. The controller 500 may also include a local memory 525. The local memory 525 and processor 505 may coordinate to execute one or more programs or applications on the controller 500.

The controller 500 may also have a number of modules operable to execute the functionality generally described above. These modules may be software, hardware, firmware, or a combination of the foregoing. For instance, the controller 500 may also include a peripheral device communication module 515 that is operative to communicate with the peripheral device 550. As discussed above, the communication between the peripheral device communication module 515 and peripheral device 550 may be in communication by way of radio frequency communication, infrared communication, WiFi, a hardwired connection, or any other suitable means. The peripheral device 550 may be any number of the previously described peripheral devices.

The controller 500 may also include a peripheral device identification module 520. The peripheral device identification module 520 may be operative to interface with or image a peripheral device 550 directly to identify the peripheral device 550. For instance, the peripheral device identification module 520 may include a camera operable to capture an image of the peripheral device 550. In turn, the peripheral device identification module 520 may perform recognition techniques as described above to identify the peripheral device 550. This may involve accessing local memory 525 or remote database 560. The peripheral device identification module 520 may retrieve configuration data from the local memory 525 or remote database 560 and provide this configuration data to processor 505. In turn, processor 505 may configure the peripheral device communicate module 515 to communication and/or control the peripheral device 550 as described above.

While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. Thus, one of ordinary skill in the art will understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims. 

1. A method for configuring a control device, comprising: using the control device to obtain an identifying indicia of a peripheral device to be controlled by the control device, wherein at least one of the peripheral device and a document comprises the identifying indicia, and wherein the document includes at least one of a user manual, a receipt, a credit card statement, a loyalty card statement, and a rewards card statement; identifying the peripheral device from the identifying indicia; obtaining configuration data corresponding to the peripheral device; and configuring the control device utilizing the configuration data such that the peripheral device is controllable by the controller.
 2. The method according to claim 1, wherein the using operation involves capturing an image using a camera of the control device. 3.-4. (canceled)
 5. The method according to claim 1, wherein the using operation involves accessing a database containing the identifying indicia.
 6. The method according to claim 5, wherein the database includes at least one of a credit card information database, a loyalty card information database, and consumer information database.
 7. The method according to claim 1, wherein the obtaining operation includes accessing a local database stored on the control device, wherein the local database includes the configuration data correlated to the identity of the peripheral device.
 8. The method according to claim 1, wherein the obtaining operation includes accessing a remote database, wherein the remote database includes the configuration data correlated to the identity of the peripheral device.
 9. The method according to claim 1, wherein the configuration data includes at least one of remote control programming codes and driver software.
 10. The method according to claim 1, wherein the identifying operation, obtaining operation, and configuring operation do not require user intervention.
 11. The method according to claim 10, wherein the identifying operation, obtaining operation, and configuring operation occur in the background of the control device such that the user may utilize the control device for other functions while the identifying operation, obtaining operation, and configuring operation occur.
 12. The method according to claim 11, further comprising: communicating instructions from the control device to the peripheral device.
 13. The method according to claim 12, wherein the communicating operation utilizes at least one of radio-frequency communication, infrared communication, and hardwired communication.
 14. The method according to claim 1, wherein the controller includes displaying functional elements associated with the peripheral device on a display of the controller.
 15. The method according to claim 14, wherein the functional elements include touch screen icons configurably displayed on the display.
 16. A configurable controller, comprising: a processor; a peripheral device communication module in operative communication with the processor and configurable to communicate with one or more peripheral devices; and a peripheral device identification module including a camera operable to capture an image of identifying indicia comprising an image of the peripheral device, wherein the peripheral device identification module is operable to recognize a peripheral device; wherein the peripheral device identification module is operable to retrieve configuration data in order to configure the peripheral device communication module to communicate with the peripheral device.
 17. The controller according to claim 16, wherein the peripheral communication module includes at least one of an IR communication device, a RF communication device, and a hardwired connection to the one or more peripheral devices.
 18. (canceled)
 19. The controller according to claim 7, wherein the peripheral identification module is operable to retrieve the configuration data from one of a local data store or remote data storage.
 20. The controller according to claim 19, wherein the controller is a universal remote control. 